import { get, post, put, del } from './api';
import { Solution, SolutionQueryParams } from '../pages/solutions/models/solutionModels';

// API响应类型
interface ApiResponse<T> {
  code: number;
  message: string;
  data: T;
}

/**
 * 获取所有解决方案
 * 
 * @returns 解决方案列表
 */
export async function getAllSolutions() {
  return get<ApiResponse<Solution[]>>('/solutions');
}

/**
 * 搜索解决方案
 * 
 * @param keyword 搜索关键词
 * @returns 匹配的解决方案列表
 */
export async function searchSolutions(keyword: string) {
  return get<ApiResponse<Solution[]>>('/solutions', { keyword });
}

/**
 * 获取解决方案详情
 * 
 * @param id 解决方案ID
 * @returns 解决方案详情
 */
export async function getSolutionById(id: number) {
  return get<ApiResponse<Solution>>(`/solutions/${id}`);
}

/**
 * 创建解决方案
 * 
 * @param solution 解决方案数据
 * @returns 创建的解决方案
 */
export async function createSolution(solution: Partial<Solution>) {
  return post<ApiResponse<Solution>>('/solutions', solution);
}

/**
 * 更新解决方案
 * 
 * @param id 解决方案ID
 * @param solution 解决方案数据
 * @returns 更新后的解决方案
 */
export async function updateSolution(id: number, solution: Partial<Solution>) {
  return put<ApiResponse<Solution>>(`/solutions/${id}`, solution);
}

/**
 * 删除解决方案
 * 
 * @param id 解决方案ID
 * @returns 删除结果
 */
export async function deleteSolution(id: number) {
  return del<ApiResponse<void>>(`/solutions/${id}`);
} 